package Day017_缓冲流_转换流_序列化流_打印流.demo01_缓冲流;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * @author zhangyan
 * @date 2020/5/9 9:05
 */
/*
    内存执行效率远高于硬盘,减少二者的交互,就能提高效率

    缓冲流,也叫高效流，是对4个基本的 FileXxx 流的增强,读写效率高.顶层父类还是InputStream ，OutputStream
    缓冲流的基本原理，是在创建流对象时，会创建一个内置的默认大小的缓冲区数组(8192)，通过缓冲区读写，减少系统IO次数，从而提高读写的效率

    字节缓冲流： BufferedInputStream ， BufferedOutputStream
    字符缓冲流： BufferedReader ， BufferedWriter

    字节缓冲流
        构造方法:
                public BufferedInputStream(InputStream in) ：创建一个 新的缓冲输入流
                public BufferedOutputStream(OutputStream out) ： 创建一个新的缓冲输出流

    字符缓冲流
        构造方法:
                public BufferedReader(Reader in) ：创建一个 新的缓冲输入流。
                public BufferedWriter(Writer out) ： 创建一个新的缓冲输出流
        特有方法:
                BufferedReader： public String readLine() : 读一行文字。
                BufferedWriter： public void newLine() : 写一行行分隔符,由系统属性定义符号
 */
public class Test1_对比效率 {
    public static void main(String[] args) throws Exception{

        //创建字节缓冲输入流对象
        FileInputStream fis = new FileInputStream("Demo02\\aaa\\jdk9-API.CHM");
        BufferedInputStream bis = new BufferedInputStream(fis);

        //创建字节缓冲输出流对象
        FileOutputStream fos = new FileOutputStream("Demo02\\aaa\\a.txt");
        BufferedOutputStream bos = new BufferedOutputStream(fos);
    }
}
